package me.illtamer.rpc.register;

import com.alibaba.nacos.api.exception.NacosException;
import lombok.extern.slf4j.Slf4j;
import me.illtamer.rpc.enumeration.RpcError;
import me.illtamer.rpc.exception.RpcException;
import me.illtamer.rpc.util.NacosUtil;

import java.net.InetSocketAddress;

/**
 * Nacos 服务注册中心
 * */
@Slf4j
public class NacosServiceRegistry implements ServiceRegistry {

    /**
     * 将服务的名称和地址注册进服务注册中心
     * */
    @Override
    public void register(String serviceName, InetSocketAddress address) {
        try { // 向 Nacos 注册服务
            NacosUtil.registerService(serviceName , address);
        } catch (NacosException e) {
            log.error("注册服务时有错误发生", e);
            throw new RpcException(RpcError.REGISTER_SERVICE_FAILED);
        }
    }

}
